home *** CD-ROM | disk | FTP | other *** search
- ****************************************************************************
- *** ***
- *** WimpX v1.5 - Documentation File ***
- *** ***
- *** Copyright R.C.Meathrel 1993 ***
- *** ***
- ****************************************************************************
- * 21st NOV 1993
-
- Background & Intro
- ******************
-
- WimpX is basically a program which allows the intuition environment to be
- explored and altered. The WimpX project was undertaken due to the appearance
- in my disk box of a similar style of program - Fenster. After I first came
- across Fenster and began using it, mainly for the screen save, I was myself
- inspired(?) to write a similar utility. It might be said in fact that WimpX
- is very much like Fenster in many respects, ie. Screen layout! My first
- version of WimpX was, quite frankly, a sorry affair, as those who had the
- mispleasure of seeing it will undoubtedly tell you. The interface was
- pretty crap and the coding behind it wasn't that better either, this was
- a couple of years ago now though when I had only just started in Assembly
- progging (Yes - WimpX is written in Asm not C, for speed and compactness).
- Actually WimpX v1.5 is the newest member of the third generation of WimpX,
- the first two generations having collapsed due to some fairly dodgy coding
- practice on my part.
-
- Development Info
- ****************
-
- The assembler I use to prog WimpX is of course Devpac3 and I use BLink for
- all of the linking. WimpX presently consists of 7 object files which are
- linked together and then the final executable is crunched with PowerPacker4.
- WimpX v1.5 is around 69K uncrunched which is a bit larger than it ought to
- be given the fact it is in assembler. Version 1.5 has been tested on several
- Amiga models including the A500,A500+,A600,A1200 and the A4000 under all
- sorts of kickstarts - V1.2,V1.3,V2.04 and the latest V3. I firmly believe
- that version 1.5 will work on ALL Amigas bar those with kickstarts 1.1 or
- previous as WimpX asks for V33 libraries. WimpX has been tested fairly
- rigorously using a multitude of debugging tools including commodore's own
- Enforcer (great prog!), although testing using Enforcer was carried out
- on an A4000 by Dave OJ without my presence, and so I am just trusting him
- when he tells me that everything is fine!
-
-
- Basic operating instructions
- ****************************
-
- To install WimpX you must either double-click on it's icon if using WB or
- alternatively type in WimpX preceded by the path if using the Shell or
- CLI. You may wish to use the 'run' command so that you can still use the
- CLI to run other programs.
-
- When WimpX has installed itself it brings up a small window on the
- Workbench screen, to access the features of WimpX you must depress the
- right mouse button whilst the window is active or press the return key.
- At this point the main WimpX screen should appear (memory permitting) and
- work can commence. You can return WimpX to it's sleep state at any time by
- pressing the Return key, or clicking on "Return to WB".
-
-
- Using WimpX
- ***********
-
- Using WimpX is really quite simple and requires little explanation - WimpX
- was designed to be as intuitive as possible. All you need to utilise WimpX
- to the full is a working mouse and a bit of common sense. :)
-
- The main function of WimpX, as stated above, is to nose around the intuition
- environment, making changes where and when you want to. The first thing to
- do is to select what you wish to work on, this will be a particular screen
- or maybe a particular window in that screen. You make your selection using
- the list of names in the centre of the WimpX screen. When WimpX is woken up
- it displays a list of screen names for you to choose from, when you click
- on your chosen screen name a further list will appear but this time showing
- all the names of the windows open in the chosen screen.
-
- When you have made your selection you may use all of the tools that WimpX
- provides to alter or investigate the intuition environment.
-
- Notes: The 8 chars beside each screen name give some indication of the
- ****** screen resolution ie. (MEDRES) = Medium resolution eg. 640x256 (PAL)
- & (HR-LCD) = High resolution interlaced eg. 1280x512 (PAL)
- HAM - Hold & modify, EHB - Extra half brite & LCD - Interlaced.
-
- Click 'Show Screens' to return to list of screen names and click
- 'Update List' if window/screen activity has occured during the
- selection/browsing process.
-
- Use scroll bar and arrows to advance through the list --->
- '#' - Equivalent to Up arrow & '/' - Equivalent to Down arrow.
- Use keys 1-9,0,- & = to highlight/select one of the 12 screen or
- window names.
-
- Key shortcuts
- *************
-
- You have probably noticed that some letters have underlines, this means
- that pressing the lettered key will have the same effect as clicking the
- mouse for a particular function. Ie. pressing 'o' after selecting a screen
- will bring up screen information.
-
- Important note: Unlike most other WB2 & WB3 utils. WimpX IS case-sensitive,
- *************** this means that if, in the above example, you pressed
- shift-o instead of just 'o' then there would be no effect.
- This might seem a bit silly but, unlike most programs,
- WimpX has around 30 shortcuts and using a different letter
- for each one would be impossible. Sorry about this but I
- believe what I have done is a good idea (honestly).
-
-
- The Screen/Window Functions
- ***************************
-
- Now follows a list of the main WimpX functions and how to use them --->
-
-
- Screen functions
- ****************
-
- To Front - Moves selected screen to front of display.
- ~~~~~~~~
-
- To Back - Moves selected screen to the back of the display.
- ~~~~~~~
-
- Change Title - Brings up another small window and allows name to be altered
- ~~~~~~~~~~~~ with the limitation that the length of name cannot be
- extended.
-
- Close - Brings up a confirmation requester from which the screen can be
- ~~~~~ closed. Note: Any windows open in the screen will be closed
- automatically before the screen closure.
-
- Save - Brings up the screen saving suite where you must provide a filename.
- ~~~~ The screen can be saved in one of 3 different formats. IFF-ILBM saves
- the screen such that the picture can be loaded in DPaint and most
- other paint packages. IFF-ACBM is really only there for completeness
- and will probably only prove useful to those using AmigaBASIC.
- RAW format saves the screen as a series of bitplanes one after
- another and will be of most use to programmers.
- Clicking the 'select...' button brings up an ASL file requester
- provided that WimpX was able to open the ASL library when it was run.
- If ASL isn't available then this button will be ghosted.
-
- Note: WimpX does not compress the saved screens.
- *****
-
- Xtra Notes: WimpX v1.5 will save out ANY screenmode currently obtainable
- *********** from ANY Workbench version including WB3!
- Ie. FULL support for HAM8 and standard 256 col. modes.
- Including 8-bit RGB CMAP chunks using the BMHDF_CMAPOK flag.
-
- Adjust Cols. - Brings up the WimpX palette editor so that the palette of
- ~~~~~~~~~~~~ the selected can be altered. No explanation on using PalED
- is needed, just select your colour from the palette and
- move the old sliders around a bit.
-
- Note: The WimpX PalED recognises both 4-Bit RGB and 8-Bit
- ***** RGB when READING the screen's colourmap, Eg. each
- component can have a value 0-255. However, when
- WimpX alters the palette of a screen it writes the new
- values as 4-Bit RGB using the LoadRGB4 ROM routine!
- This is because I have no documentation on the
- LoadRGB32 routine!!! Now I know this is not on but
- unless somebody can loan me the new RKMs I can do
- nothing about it!
-
- Information - Brings up the screen information window which gives some
- ~~~~~~~~~~~ useful information about the selected screen such as the
- dimensions, memory used, number of bitplanes and a few
- addresses of related structures. Also the number of windows
- present in the screen is displayed.
-
-
- Window Fuctions
- ***************
-
- To Front - Brings selected window to front of all other windows.
- ~~~~~~~~
-
- To Back - Sends selected window behind all other windows.
- ~~~~~~~
-
- Shrink - If the window is a resizable one this function reduces the
- ~~~~~~ dimensions of the window to the smallest allowed by the window
- definition.
-
- Expand - Expands selected window to it's maximum size taking into account
- ~~~~~~ the screen title bar.
-
- Close - Brings up a confirmation requester allowing the selected window to
- ~~~~~ be closed. If the window has a menustrip attached the menustrip
- is first cleared before the window is closed.
-
- IDCMP - Brings up the IDCMP flags suite which shows you what IDCMP flags the
- ~~~~~ selected window utilizes and allows these to be modified.
-
- Gadget ED - Brings up the gadget editor suite which allows all gadgets
- ~~~~~~~~~ attached to the selected window to be investigated and possibly
- changed (only of use to programmers - if anyone!).
-
- > See below for instructions on how to use the gadget editor <
-
- Pointer - Brings up the pointer options window which offers a wealth of
- ~~~~~~~ choices - not! From here you can opt to use the default pointer
- for the selected window as opposed to any custom one which might
- have been installed by the appliprog.
-
- Palette - Brings up the 'Palette options' window allowing the selected
- ~~~~~~~ screen's palette to be saved in one of 3 formats, Colourmap,
- binary or sourcecode. Palettes saved as colourmaps can be
- loaded into DPaint for example and used as palettes.
- Binary saves out the colourmap entries as raw binary, which is
- mainly of use to programmers. Sourcecode saves out the palette
- as assembly source, eg.
-
- Dc.W $012C,$0000
- Dc.W $0FFF,$0127
-
- Use the 'Select...' button to specify a filename using an ASL
- file requester.
-
- Refresh Window - Brings up the 'Refresh options' window allowing the gadgets
- ~~~~~~~~~~~~~~ and/or windowframe of the selected window to be refreshed.
-
- Information - Brings up the window information window which allows the
- ~~~~~~~~~~~ selected window's name to be altered, the window to be moved
- about it's host screen using the proportional gadget.
- Also the window's dimensions are listed together with the
- number of gadgets attached to the window and a list of
- related structures.
-
- Print - Brings up the printer suite from which you can print out the window
- ~~~~~ or it's host screen. The 4 toggle buttons at the top control how
- the picture is to be printed. The default setup should suffice for
- most users although experienced users might require the use of the
- extra flags to fine tune the printout.
-
- Below the flags are 6 text gadgets which allow the user to specify
- the area of the window which is to be printed. The PrtHeight and
- PrtWidth fields determine the width of the resulting printout in
- printer pixels. This means that the printout resolution is only
- limited by the output device, this makes printing from WimpX very
- flexible and worthwhile.
-
- Once WimpX has been instructed to print, a small window will open
- in the middle of the screen, and selecting the STOP gadget will
- quit the printing process. It is a good idea to manually reset the
- printer if the printing process has been cancelled otherwise the
- next print is likely to start off with garbage!
-
- The only down side to the printing suite is that if you wish to
- print the host screen then only the PrtHeight and PrtWidth fields
- will be taken into account when printing and the remaining fields
- will be computed automatically.
-
- Note: Unlike all previous versions of WimpX, WimpX1.5 checks to make
- ***** sure that base pointers are valid before attempting to either
- close a screen or a window. This was included as a kind of safety
- net and also to stop Dave OJ moaning. :-)
-
- The Gadget Editor
- *****************
-
- The gadget editor is a relatively new edition to WimpX and it lets you
- investigate and alter gadgets which programs use. If the gadget editor does
- not appear when you click the button this is because the selected window
- doesn't have any gadgets attached to it.
-
- You can move through the gadget list by clicking on the arrows or pressing
- '<' & '>'. The gadgettype informs you the type of gadget eg. Boolean.
- The 4 string gadgets allow you to alter the dimensions of the gadget.
-
- Clicking the 'Flags...' button brings up a window displaying what flags
- are available and which of these are used, these can be altered just as
- in the window IDCMP suite.
-
- Note: Bits 0 & 1 (displayed as $0001 & $0002) determine the gadget's
- ***** highlighting, here is an explanatory table...
-
- Bit 0 | bit 1 | resulting highlighting
- ------+-------+-----------------------
- 0 | 0 | GADGHCOMP ($0000)
- 0 | 1 | GADGHIMAGE ($0002)
- 1 | 0 | GADGHBOX ($0001)
- 1 | 1 | GADGHNONE ($0003)
-
- Clicking the 'Activation...' button brings up a window similar to the
- gadget flags window described above.
-
- The rendering window which is activated by clicking on 'Rendering...'
- reveals any border structures or images or intuitexts which the gadget in
- question uses. Clicking discard on the appropriate item will detach that
- structure from the gadget, never to be seen again.
-
- The 'Special Info...' window contains information regarding either a
- stringinfo structure or a propinfo structure depending on the gadgettype.
-
- Note: 'Rendering...' and/or 'Special Info...' may be ghosted if not
- ***** applicable to the currently selected gadget.
-
- Functions
- *********
-
- Remove - Removes the current gadget from the list and resets the editor
- ~~~~~~ to the first gadget in the list.
-
- Refresh - Refreshs the current gadget. If you alter the gadget dimensions
- ~~~~~~~ then you must click on 'Refresh' to let the changes take effect.
-
- Note: When you exit from the flags/activation/rendering and
- ***** special info windows the changes made by you will be
- installed without the need to click 'Refresh'.
-
- Overwrite - Draws a solid box using colour 0 onto the gadgets select box,
- ~~~~~~~~~ useful when moving imagery around.
-
- Note: Doesn't work with gadgets which have relative coords.
- *****
-
-
- Preferences
- ***********
-
- Note: If ASL is unavailable then the two menu items, 'Font...' and
- ***** 'Screenmode...', will be ghosted.
-
- The WimpX preferences is accessed via a pull down menu which can be revealed
- by pressing and holding the right mouse button in the usual way. 4 options
- are available --->
-
- General - Brings up the general prefs window allowing various paths to be
- ~~~~~~~ configured and also the maximum number of screen/window names
- in each of the lists.
-
- Note: Pressing 'R' will activate the first string gadget and
- ***** pressing the Tab key will progress through each of the
- string gadgets in turn.
-
- Font - Brings up the font requester (only if ASL is available) where a
- ~~~~ suitable font can be chosen.
-
- Screenmode - Brings up the screenmode requester (only if ASL is available)
- ~~~~~~~~~~ where a new mode for the WimpX screen to open in can be
- selected.
-
- Note: The control panel of the palette editor takes the same
- ***** mode as the main WimpX screen.
-
- Save settings - Saves current state of WimpX, including -->
- ~~~~~~~~~~~~~
- 1) The coords of WimpX WB window,
- 2) The coords of main WimpX screen,
- 3) List allocation,
- 4) Colours (First 4) of main WimpX screen,
- 5) Font used for WimpX screen,
- 6) Screenmode used for WimpX screen,
- & 7) Various user paths
-
- ...to the current directory.
-
- Note: To alter colours of WimpX just select the WimpX screen and then
- ***** click on "Adjust colours" to bring up the palette editor. You
- change the WimpX screen colours just as you change any other screen's
- colours.
-
-
- ARexx support
- *************
-
- Although WimpX v1.5 does support ARexx the command set that I have provided
- is somewhat limited and perhaps not greatly useful, however, the reason
- I have included ARexx support is because I feel that all Amiga programs
- written now must support ARexx if possible. This will help provide a
- consistent environment. When writing the ARexx interface for WimpX I had
- only the small Commodore manual to get info. from and it was not altogether
- too informative. This means I had to extract structure info. etc. from
- the include files! I expect that future editions of WimpX will include
- much more adequate support for the ARexx language.
-
- Anyway, here are the commands implemented so far --->
-
- 1) HOME - Moves WimpX window to top-right of WB
-
- 2) SCREEN scrnname - Selects a screen to work with, where
- scrnname is a valid screen name.
- RC=0 if name is valid.
-
- 3) WINDOW windname - Selects a window to work with, where
- windname is a valid window name.
- RC=0 if name is valid.
-
- 4) SAVEILBM filename - Saves selected screen as an IFF-ILBM file
- as filename.
-
- 5) SAVEACBM filename - Saves selected screen as an IFF-ACBM file
- as filename.
-
- 6) SAVERAW filename - Saves selected screen as a RAW binary file
- as filename.
-
- 7) REFRESHWINDOW - Refreshs the selected window's windowframe
- and all of the gadgets.
-
- 8) DEFAULTPOINTER - Changes the pointer imagery of the
- selected window to default imagery.
-
- 9) CLOSEWINDOW - Closes the selected window.
-
- 10) CLOSESCREEN - Closes the selected screen.
-
- 11) SHRINKWINDOW - Shrinks the selected window.
-
- 12) EXPANDWINDOW - Expands the selected window.
-
-
- Example ARexx prog to save out WB screen
- ****************************************
-
- /* A Simple Screen Saver */
- /* By R.C.Meathrel */
-
- Say 'Enter filename to save Workbench screen as...'
- Parse Pull NAME
-
- Address WIMPX /* ARexx port name of WimpX is WIMPX */
-
- SCREEN 'Workbench' /* Select screen - in this case the WB screen */
-
- SAVEILBM NAME /* Save screen */
- Exit
-
- As you can see, my ARexx skills haven't really taken off as yet!
-
- ============================================================================
-
- --- SIGNING OFF ---
- *******************
-
- Please write to the address that follows with ANY bugs which you might
- have found in WimpX or ANY suggestions for improvement.
-
- My present contact address -->
-
- Richard Meathrel
- 9 Tennyson Close,
- Westhill,
- Torquay,
- Devon
- England
- TQ1 4PQ
-
- University address (mail here during term time)-->
-
- Richard Meathrel
- Hope Hall,
- Prince of wales road,
- Exeter
- England
- EX4 4PD
-
- Feel free to mail me at --> cs93rcm@exeter.ac.uk with ANY comments.
-
- Misc. comments: WimpX is crunched with the excellent Powerpacker.
- ~~~~~~~~~~~~~~
- Main source length : approx. 170K
- Total source length : approx. 224K
- Decrunched length : approx. 69K
- crunched length : approx. 25K
- Beta tester : David Ockwell-Jenner
- Linker used : HiSoft's BLink v5.07
- Icon made using : DPaint II and Iconmaster
- Printing tested on : Star LC-10 colour
- Amiga(s) Used : A1200 {120MB HD} &A500 (Both 2MB)
-
- Last Point: WimpX is what i'am going to call "commentware", that is,
- ********** if you use WimpX you must sent me your thoughts on it to
- one of the addresses above.
-
- Enjoy! :)
-
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- ============================================================================